function y = func_J_m1_1(q, m, CONSTS)

    check_asympt = false;
    k0 = CONSTS.k0;
    a = CONSTS.a;
    p = func_p_from_q(q, CONSTS);
    q1 = func_q1_from_p(p, CONSTS);
    beta_1 = func_beta_1(p, CONSTS);

    y = (besselj(m+1, k0*a*q1)./((k0*a*q1).*besselj(m, k0*a*q1))) - ...
           ((beta_1.*m)./((k0*a*q1).^2));
       
    if(check_asympt)  % asymptotics is held
        eps = CONSTS.eps;
        eta = CONSTS.eta;
        g = CONSTS.g;
        beta_1_s = ((eta-eps)/(g*eta))*q.^2;
        figure; plot(q, real(beta_1), 'b.-', q, real(beta_1_s), 'r-'); title('Re(\beta_1)');
        figure; plot(q, imag(beta_1), 'b.-', q, imag(beta_1_s), 'r-'); title('Im(\beta_1)');
    end
end
